# https://blog.csdn.net/luochen2436/article/details/136855547
# p=o1*r1+1
# q=o2*r2+1
# n=(o1*r1+1)*(o2*r2+1)=o1r1o2r2+o1or1+o2r2+1
# 已知o1和o2的量级为300bit,r1和r2的量级为212bit
# n//o1o2=r1*r2
# phi=o1*r1*o2*r2

n=44435425447782114838897637647733409614831121089064725526413247701631122523646623518523253532066782191116739274354991533158902831935676078270115998050827358178237970133151467497051097694866238654012042884894924846645692294679774577780414805605811029994570132760841672754334836945991390844881416693502552870759
c=41355409695119524180275572228024314281790321005050664347253778436753663918879919757571129194249071204946415158483084730406579433518426895158142068246063333111438863836668823874266012696265984976829088976346775293102571794377818611709336242495598331872036489022428750111592728015245733975923531682859930386731
a=39844923600973712577104437232871220768052114284995840460375902596405104689968610170336151307934820030811039502338683925817667771016288030594299464019664781911131177394369348831163266849069740191783143327911986419528382896919157135487360024877230254274474109707112110411601273850406237677432935818199348150470
o=1745108106200960949680880500144134006212310627077303652648249235148621661187609612344828833696608872318217367008018829485062303972702933973340909520462917612611270028511222134076453
e = 65537

r1r2=n//o
phi=r1r2*o
import libnum
d=libnum.invmod(e,phi)
m=pow(c,d,n)
print(libnum.n2s(m))
